共计 1091 个字符,预计需要花费 3 分钟才能阅读完成。
可以在一个docker-compose.yml「A」文件中定义网络,在另外的docker-compose.yml「B」文件中使用网络。
比如,A文件中定义数据库服务:
version: "3.7" | |
services: | |
mysql-blog: | |
image: mysql:5.7 | |
volumes: # 数据卷,映射本地文件夹 | |
- /data/mysql/blog:/var/lib/mysql | |
ports: # 如果不写端口映射的话,外部无法连接该mysql(下方WordPress连接没问题) | |
- "13306:3306" # 13306 是外部使用,不同的compose文件中使用时,请使用mysql的端口3306,即container中的端口 | |
restart: always | |
environment: | |
MYSQL_ROOT_PASSWORD: "Xeroxes6136;cobras" | |
MYSQL_DATABASE: blog | |
MYSQL_USER: blog | |
MYSQL_PASSWORD: blog | |
networks: | |
mysql-blog: | |
aliases: | |
- mysql-blog # 给mysql-blog网络起别名,其它服务可通过别名引用 | |
- mysql-blog2 # 可以有多个别名 | |
networks: | |
mongo-blog: | |
name: mongo-blog |
在B中引用A中的mongo-blog网络:
version: "3.7" | |
services: | |
blog: | |
image: wordpress:latest | |
volumes: | |
- /data/wordpress/blog:/var/www/html | |
ports: | |
- "63380:80" | |
restart: always | |
privileged: true | |
environment: | |
WORDPRESS_DB_HOST: mysql-blog:3306 # 这里使用网络名字即可连接 | |
WORDPRESS_DB_NAME: your-db-name | |
WORDPRESS_DB_USER: your-db-user | |
WORDPRESS_DB_PASSWORD: your-db-password | |
# 定义域名 | |
WORDPRESS_CONFIG_EXTRA: "define('WP_HOME','your-blog-domain'); define('WP_SITEURL','your-blog-domain');" | |
networks: | |
- mysql-blog | |
networks: | |
mysql-blog: | |
external: # 表示使用外部的网络 | |
name: mysql-blog |
在其它container自己的代码中,也可以使用mysql-blog:3306这样的字符串去连数据库。
正文完